<?php
class page_base {
	private $titre;
	private $style = array (
			'base',
			'modele' 
	);
	private $corps;
	private $page;
	private $nom;
	private $connexion;
	public function __construct($p) {
		$this->page = $p;
		session_start ();
		include_once ('connexpdo.php');
		$this->connexion = connexpdo ();
	}
	
	/**
	 * ****** Gestion des setters ******************
	 */
	public function __set($propriete, $valeur) {
		switch ($propriete) {
			case 'style' :
				{
					$this->style [count ( $this->style ) + 1] = $valeur;
					break;
				}
			
			case 'corps' :
				{
					$this->corps = $valeur;
					break;
				}
			case 'titre' :
				{
					$this->titre = $valeur;
					break;
				}
		}
	}
	
	/**
	 * ****** Gestion du titre ******************
	 */
	private function affiche_titre() {
		echo $this->titre;
	}
	
	/**
	 * ***********Gestion des styles ********************
	 */
	private function affiche_style() {
		foreach ( $this->style as $s ) {
			echo "<link rel='stylesheet' href='./style/" . $s . ".css' />\n";
			echo "<link href='http://fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>";
		}
	}
	private function affiche_script() {
		echo '<script src="script/jquery-2.1.1.min.js">                 </script>
		<script src="script/projectstocks.js" type="text/javascript"> </script>';
	}
	/**
	 * ***********Gestion du header**********
	 */
	private function affiche_header() {
		?>
<header>
	<h1>
		<span>Chat ATP Dev Team</span><?php
		if (isset ( $_SESSION ['nom'] )) {
			$this->affutil ();
		}
		?>
				</h1>
	<p class="sous-titre">
		<strong>The officiel web based chatting service : <?php $this->affiche_utilisateurs()?></strong>

	</p>

</header>
<?php
	}
	/**
	 * ***********Gestion du menu************
	 */
	private function affiche_menu() {
		?>
<nav>
	<ul>
		<li><a href="index.php">Accueil</a></li>
		<li><a href="cours.php?section=cours">Les cours</a></li>
		<li><a href="cours.php?section=TP">Les TP</a></li><?php
		if (isset ( $_SESSION ['nom'] )) {
			?>
				<li><a href="correction.php">Les corrections des devoirs</a></li><?php }?>
				<li><a href="utilisateur.php">Utilisateurs</a></li>
	</ul>
</nav>
<?php
	}
	/**
	 * ***********Affiche corps**************
	 */
	private function affiche_corps() {
		echo $this->corps;
	}
	private function affiche_msg() {
		?>
<div id='demo'></div>
<textarea rows='3' cols='40' id='msg'
	onKeyPress="if (event.keyCode == 13) add()"></textarea>
<button onclick='add()  '>Envoyer</button>
<?php
	}
	private function affiche_formcon() {
		?>

<div id="pop-upconnect">
	<form action="index.php" method="post"><?php if(isset ($_COOKIE['pseudo'])){ ?>
					<input type="text" name="name"
			value=<?php echo $_COOKIE['pseudo'];?>><?php }else{?>
					<input type="text" name="name" placeholder="Identifiant"><br><?php }?>
					<input type="password" name="password" placeholder="Mot de passe">
		<input type="submit" class="button_submit" value="Se connecter">
	</form>
</div>
<?php
	}
	private function deco() {
		?>
<div id="pop-updeconnect">
	<form action="deco.php" method="post">
		<input type="submit" value="Deconnexion">
	</form>
</div>
<?php
	}
	private function verifmdp() {
		$sst = $this->connexion->prepare ( "SELECT login from user where login=:login AND password=:password" );
		$sst->execute ( array (
				':login' => $_POST ['name'],
				':password' => $_POST ['password'] 
		) );
		/* renvoie du r�sultat de la requ�te */
		return $sst;
	}
	public function creasession() {
		$result = $this->verifmdp ();
		if (! $result) {
			echo "lecture impossible";
		} else {
			
			while ( $row = $result->fetch ( PDO::FETCH_OBJ ) ) 
			// parcourir chaque ligne s�lectionn�e
			{
				
				foreach ( $row as $colonne ) 
				// parcours de tous les �l�ments de la ligne s�il y en a plusieurs
				// donc inutile si un seul �l�ment par ligne
				{
					
					$nom = $_POST ['name'];
					$_SESSION ['nom'] = $nom;
					setcookie ( 'pseudo', $nom, time () + 365 * 24 * 3600, null, null, false, true );
				}
			}
			$result->closeCursor (); // pour lib�rer la m�moire occup�e
		}
		$result = null;
	}
	public function affutil() {
		echo "<h1>bonjour " . $_SESSION ['nom'] . "</h1>";
	}
	
	/**
	 * ************ Affichage du pied de la page **************************
	 */
	private function affiche_footer() {
		?>
<footer>
	<p>Audio Tracking Project</p>
	<p id="copyright">
		ATP &copy; 2014 <a href="#">YouPorn</a>
	</p>
</footer>
<?php
	}
	
	/**
	 * ************Cours ou TP************
	 */
	public function retourneget() {
		if (isset ( $_GET ['section'] )) {
			$nom = $_GET ['section'];
			return $nom;
		}
	}
	public function message_erreur() {
		?>
<div id='msgerreur'>
	<h1>CONNECTE TOI, voyou!</h1>
	<button
		onclick="document.getElementById('msgerreur').style.display='none'">OK,
		j'ai compris</button>
</div>
<?php
	}
	private function les_user() {
		/* construction de la requ�te */
		$requete = 'SELECT login from user ;';
		
		/* renvoie du r�sultat de la requ�te */
		return $this->connexion->query ( $requete );
	}
	public function affiche_utilisateurs() {
		$result = $this->les_user ();
		if (! $result) {
			echo "lecture impossible";
		} else {
			
			while ( $row = $result->fetch ( PDO::FETCH_OBJ ) ) 
			// parcourir chaque ligne s�lectionn�e
			{
				
				foreach ( $row as $colonne ) 
				// parcours de tous les �l�ments de la ligne s�il y en a plusieurs
				// donc inutile si un seul �l�ment par ligne
				{
					echo $colonne . ', ';
				}
			}
			$result->closeCursor (); // pour lib�rer la m�moire occup�e
		}
		$result = null;
	}
	
	/**
	 * ****************** Fonction permettant l'affichage de la page *************
	 */
	public function affiche() {
		?>

<!-- DOCCTYPE html -->
<html lang='fr'>

<head>
<title>
						
						<?php $this->affiche_titre(); ?>
					</title>
<meta charset="utf-8" />
						<?php
		$this->affiche_style ();
		$this->affiche_script ();
		?>
				</head>
<body>
	<div style="position: fixed; z-index: -99; width: 100%; height: 100%">
				<iframe height="100%" width="100%"
					src="http://www.youtube.com/embed/gHNDomygBU8&list=LLx_DFTQ2jRpuO9BjoKKqMfw"> 
		 		</iframe> -->
	</div>
	<div id="global">
	            <?php
		
		$this->affiche_header ();
		if (isset ( $_GET ['erreur'] )) {
			$this->message_erreur ();
		}
		?>
	             
				
				<div id="centre">

			<section>
				<article>
					<?php
		$this->affiche_corps ();
		
		if (isset ( $_POST ['name'] )) {
			$this->creasession ();
			$this->deco ();
		}
		
		if (! isset ( $_SESSION ['nom'] )) {
			$this->affiche_formcon ();
		}
		
		if (isset ( $_SESSION ['nom'] )) {
			if (! isset ( $_POST ['name'] )) {
				$this->deco ();
			}
			$this->affiche_msg ();
		}
		if (isset ( $_SESSION ['nom'] )) {
			$user = $_SESSION ['nom'];
			echo "<input type='hidden' id='cache' value=" . $user . ">";
		}
		?>
	                </article>
			</section>
		</div>
	            <?php $this->affiche_footer(); ?>
	        </div>
</body>
</html>
<?php
	}
}
?>
